home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Taifun
/
Taifun 136 (1990-05-15)(Ossowski, Stefan)(DE)(PD).zip
/
Taifun 136 (1990-05-15)(Ossowski, Stefan)(DE)(PD).adf
/
DisKey2.0
/
DisKey.README
< prev
next >
Wrap
Text File
|
1990-04-10
|
62KB
|
1,510 lines
Angela Schmidt, Finkenweg 26, 7910 Neu-Ulm Burlafingen, GERMANY
**********************************
*** ***
*** README zu DisKey 2.0 ***
*** ***
**********************************
1) Was ist DisKey?
2) Warum DisKey?
3) Wie es zu DisKey kam
4) Updates + DisKey Professional
4.1) Wie werde ich User?
4.2) DisKey V2.0 Professional
4.3) Generelles zum Vertrieb von DisKey Professional 2.0
5) Verbreitungsbedingungen
6) Die Anleitung
6.1) Allgemeines
6.2) Die Bedienung
6.3) Die Menüpunkte
7) DisKey.Prefs
8) Die Bedienung für die "eingefleischten DisKey-User/innen"
9) Meine Adresse + E-Mail
1) Was ist DisKey?
==================
DisKey ist mein erstes größeres C-Programm - ein Diskettenmonitor. DisKey
arbeitet block- bzw. sektorweise, ist also KEIN File-Monitor bei denen
man einen Filenamen eingeben muss, und dieses dann editiert.
DisKey ist SHAREWARE. Sie dürfen es unter den in
"Verbreitungsbedingungen" genannten Bedingungen frei kopieren. Auf
gewerblichen Disketten darf DisKey nur mit meinem schriftlichen
Einverständnis vertrieben werden! PD-Vertreiber, die DisKey auf ihre
eigene PD-Serie aufnehmen wollen, brauchen dazu ebenfalls meine
Zustimmung. Außerdem möchte ich dann ein Exemplar der entsprechenden
Diskette.
DisKey Professional 2.0 unterscheidet sich von DisKey 2.0 nur dadurch, da
es auch auf andere Devices (Festplatten, resetfeste Ramdisks usw.)
zugreifen kann, und daß es nicht mehr Shareware ist, sondern bei mir für
30 DM bezogen werden kann. Auf Wunsch erstelle ich sogar eine spezielle
68020-Version für Sie! DisKey Professional darf nicht mehr frei kopiert
werden und trägt eine Seriennummer. Damit Sie aber nicht die Katze im
Sack kaufen müssen, ist eine Demo-Version erhältich, die Freeware ist und
im PD-Pool verbreitet wird.
2) Warum DisKey?
================
Ja, es gibt schon viele Diskettenmonitore. Aber gibt es auch schon einen
vernünftigen deutschen? Gibt es Diskettenmonitore, die einen Block in
ASCII und HEX-Darstellung nebeneinander auf den Bildschirm bekommen, ohne
dabei einen Interlace-Screen zu öffnen, sondern auf Wunsch sogar
speichersparend auf der Workbench arbeiten? DisKey kann dies alles. Dazu
benötigt er aber einen PAL-Amiga. Wenn er keinen solchen vorfindet, muß
er wohl oder übel einen eigenen Flacker-Screen öffnen, aber in Europa wird
das wohl kein Problem sein.
3) Wie es zu DisKey kam:
========================
Als ich mit der Programmierung von DisKey begonnen habe, wollte ich mich
nur einmal etwas näher mit C und dem trackdisk.device beschäfigen. Ich
hatte aber auch vor, das Programm an eine Zeitschrift zu schicken, um mein
Taschengeld eventuell etwas aufzubessern. Nach 3 Wochen war das Programm
allerdings schon über 2200 Zeilen lang. Inzwischen ist es auf über 4000
Zeilen (über 100 KB) angewachsen. Das druckt keine Zeitschrift mehr.
Also entschloß ich mich, es zum Share-Programm zu machen, und hoffe nun
darauf, daß die zukünftigen DisKey-User meine Arbeit würdigen, und mir
vielleicht als Anerkennung etwas schicken. Das kann Geld sein, oder etwas
Selberprogrammiertes. Ich freue mich aber auch über Dinge, wie zum
Beispiel vergünstigte Eintrittskarten zu deutschen Computermessen, neue
Public Domain Disketten, und ähnliches (danke Ralf, für die wunderschönen
Holographie-Briefmarken!). Wenn Sie DisKey häufig und gerne benutzen,
überlegen Sie sich doch bitte, ob Sie mir nicht etwas in der Art zukommen
lassen können. Ob ich in Zukunft meine größeren Programme in den PD-Pool
geben werde, hängt im Wesentlichen davon ab, ob für mich dabei etwas
herausspringt, denn als Studentin ist man bekanntlich immer knapp bei
Kasse. DisKey Professional 2.0 ist deswegen nicht mehr Shareware, weil
sich das Prinzip bis jetzt absolut nicht gelohnt hat. (Knappe 300 DM für
Version 1.0 bis 1.2 - das macht einen Stundenlohn von etwa 38 Pfennig,
denn bis zur Version 1.2 war ich etwa 800 Stunden mit Programmieren und
Testen beschäftigt. Für das Update auf 2.0 kann man nochmals 400 bis 500
Stunden rechnen...)
4) Updates + DisKey Professional:
=================================
Für DisKey wird es auf jeden Fall Updates geben, denn ich habe noch
einiges damit vor. Wenn Sie noch Anregungen oder gute
Verbesserungsvorschläge haben, so schreiben Sie mir einfach! Wenn Sie bei
DisKey immer auf dem neuesten Stand sein wollen, ist das vielleicht noch
ganz interessant für Sie:
4.1) Wie werde ich User?
Für 15 DM registriere ich Sie als User. Sowie die nächste Version
fertiggestellt ist, bekommen Sie Bescheid, und können diese für 6 DM incl.
Versandkosten und Disk bei mir beziehen. Wenn Sie das Update bestellen,
bekommen Sie automatisch nach Fertigstellung der nächsten Version wieder
Bescheid von mir. Wer sofort eine Bestätigung haben will, daß er
registriert wurde, soll eine ausreichend frankierte und adressierte
Postkarte beilegen.
Aus Zeitgründen (naja, das Studium...) kann ich leider nicht immer sofort
auf Fragen antworten. Wer es eilig hat, kann mich ja anrufen. Aber ich
werde trotzdem sehen, was sich machen läßt.
Für ca. 10 DM wird es in einigen Wochen auf Wunsch für eingetragene User
ein gedrucktes, gebundenes, und ausführliches Handbuch geben. Leider ist
dieses noch in Bearbeitung, und ich weiß noch nicht genau, wann es
fertiggestellt sein wird. Also habe Sie bitte damit noch etwas Geduld...
Achtung! Jeder der mir jemanden nennt, der DisKey entgegen der
Vertriebsbedingungen in größerem Rahmen verbreitet (z. B. ein
PD-Händler, der mir noch nicht bekannt ist), wird auf Wunsch kostenlos
eingetragener User!
4.2) DisKey V2.0 Professional:
Mittlerweile gibt es DisKey Professional! Diese Version kann auf alle
Disketten-ähnliche Devices, wie zum Beispiel Festplatte, resetfeste
Ramdisk usw. zugreifen. DisKey Professional ist aber nicht mehr
Shareware, da sich diese Methode finanziell leider nicht bewährt hat.
Aber es gibt eine Demo-Version dieses Programms auf PD.
Wie bekommt man die fertige Version?
DisKey Professional kostet 30 DM und ist exklusiv bei mir erhältlich.
Alle, die mir bereits irgendeinen Share-Betrag für DisKey geschickt haben,
bekommen DisKey Professional natürlich zum Differenzbetrag.
Beispiel: Sie haben 25 DM Share-Betrag geschickt und wollen gleichzeitig
das nächste Update, das Sie ja dann sicher jetzt in den Händen halten. 25
DM - 6 DM = 19 DM Share-Gebühr. DisKey Professional kostet also nur noch
11 DM.
Nach Einsendung dieses Betrages bekommen Sie von mir automatisch Ihre
persönliche DisKey Professional Version, die Sie nicht weitergeben dürfen.
Selber darf man sich aber beliebig viele Sicherheitskopien machen, und das
Programm auch auf Festplatte usw. installieren.
Ich werde Ihre persönliche Version so bald wie möglich abschicken. Haben
Sie aber bitte Verständnis dafür, daß ich zur Zeit in Karlsruhe studiere,
und es vorkommen kann, daß ich mal ein Wochenende nicht nach Hause komme,
die Sendung also nicht immer postwendend kommt. Wer es besonders eilig
hat, der kann vorher bei mir anrufen. Falls ich nicht da bin, weiß meine
Mutter sicherlich, wann ich wiederkomme, und ob es nicht vielleicht besser
ist, nach Karlsruhe zu schreiben.
Auf Wunsch erstelle ich Ihnen auch eine DisKey Professional Version für
den 68020.
4.3) Generelles zum Vertrieb von DisKey Professional 2.0
Ich beabsichtige mit dieser Version nicht, "richtig gewerblich" zu werden.
Ich möchte die User nur dazu bringen, mir die Share-Gebühren zu zahlen,
die mir zustehen. Da dies in Deutschland auf dem gewöhlichen Weg
offensichtlich nicht möglich ist, mußte ich leider diesen Weg wählen, aber
ich werde den Vertrieb und Service von DisKey Professional trotzdem nicht
viel anders aufziehen, als bei der "normalen" DisKey-Version. Wer dieser
semi-professionellen Vertriebsart nicht traut, der soll DisKey bitte nicht
bestellen, sondern sich einen anderen Diskettenmonitor suchen! Ich kann
den Service von anderen gewerblichen Vertreibern leider nicht bieten!
Das in einigen Wochen erscheinende Handbuch wird sowohl für DisKey- als
auch für DisKey-Professional-User erhältlich sein.
Wer DisKey Professional bestellt, bekommt von mir eine Disk mit speziellem
Label und wird - zusammen mit der Seriennummer - registriert, damit die
Version nicht beliebig kopiert wird, denn sonst könnte ich die Sache
sofort wieder vergessen.
5. Verbreitungsbedingungen:
===========================
1) Verbreitung von DisKey V2.0:
A. Es ist VERBOTEN...
---------------------
a) ...DisKey V2.0 ohne meine Zustimmung in PD-Serien aufzunehmen. Jeder,
der DisKey in eine PD-Serie oder ähnliches aufnehmen will, braucht dazu
eine Genehmigung von mir. Wer für die Disk, auf der DisKey dann
erscheinen soll, viel verlangt, bekommt diese Genehmigung aber nicht
kostenlos! Wenn auf der Serie dann auch noch Exclusiv-Rechte bestehen,
wird der Preis nochmals erhöht.
b) ...DisKey V2.0 gewerblich oder in Verbindung mit gewerblichen Disketten
bzw. Programmen zu vertreiben.
c) ...Gepatchte Versionen von DisKey weiterzugeben, oder Patches für
DisKey zu veröffentlichen. Schreiben Sie mir dafür lieber, was Sie in der
nächsten Version gerne verändert hätten. Vernünftige Vorschläge werden
gerne angenommen!
d) ...Irgendein Bestandteil von DisKey V2.0 zu verändern.
e) ...DisKey weiterzugeben, wenn eines der folgenden Files fehlt:
DisKey DisKey.info
DisKey.Readme DisKey.Readme.info
DisKey_Neu_an_2.0 DisKey_Neu_an_2.0.info
DisKey.Prefs DisKey.NTSC
Fragen Fragen.info
DisKey.PIC DisKey.PIC.info
Alle Files müssen in einem eigenen Directory stehen!
DisKeyProfDemo und DisKeyProfDemo.info müssen nicht unbedingt mit
verbreitet werden. Ich würde dieses aber trotzdem begrüssen!
f) ...Die Anleitung zu DisKey zu verkaufen (z. B. ausgedruckt).
g) Selbst erweiterte Versionen (z. B. mit eigener Anleitung usw.) zu
DisKey zu verbreiten.
In Einzelfall kann ich sicherlich Abweichungen der obigen Bestimmungen
akzeptieren. In diesem Fall bitte ich um eine entsprechende Anfrage.
Diese Bedingungen sollen nur bestimmten PD-Geldmachern das Handwerk legen.
Deswegen noch die Liste, was auf jeden Fall erlaubt ist - damit niemand zu
sehr verunsichert wird:
B. Es ist hingegen ERLAUBT...
-----------------------------
a) ...Tips & Tricks, Workshops oder ähnliches auf Disk-Magazinen oder in
Zeitschriften und Büchern zu veröffentlichen, sofern diese nicht das
Verändern (Patchen) von Bestandteilen DisKeys beinhalten.
b) ...DisKey V2.0 Freunden kostenlos zu kopieren, wenn ALLE oben genannten
Dateien mitkopiert werden.
c) ...DisKey einzeln auf die EIGENE Arbeitsdisk zu kopieren. (Z. B. ins
C-Directory) Diese Disk darf aber dann nicht mehr verbreitet werden.
(Ausnahme: Freunden, die DisKey 2.0 schon komplett haben, können Sie die
Disk meinetwegen kopieren.)
d) ...DisKey V2.0 in eigene PD-Serien aufzunehmen, wenn man das Programm
direkt von mir mit dem entsprechenden Hinweis erhalten hat, oder meine
ausdrückliche Zustimmung eingeholt hat.
6) D I E A N L E I T U N G:
==============================
Im folgenden werde ich eine Anleitung für alle DisKey-User
zusammenstellen. Ich versuche einen möglichst guten Kompromiß zwischen
der Länge der Anleitung (soll ja möglichst schnell gelesen sein) und der
Information, die Sie für das Programm brauchen, zu finden. Leider ist die
Anleitung doch etwas länger geworden, als ich hoffte, aber wenn Sie sie
lesen, werden Sie sicher einige Sachen entdecken, die Ihnen ohne Anleitung
nie aufgefallen wären. Lesen lohnt sich also!
6.1) Allgemeines:
Ich habe mich sehr bemüht, ein möglichst fehlerfreies Programm zu
schreiben. Ob mir das gelungen ist, werde ich wahrscheinlich erst
erfahren, nachdem es einer großen Zahl von Anwendern zugänglich gemacht
worden ist. Ich konnte jedoch bis jetzt nach etlichen Tests noch keine
Fehler feststellen. GURUs sind bei mir in der Testphase KEINE
aufgetreten. Auch sonst sind mir keine Fehler aufgefallen. Bei einem
Programm mit über 100 KB Source ist es jedoch natürlich nicht
auszuschließen, daß noch größere Fehler drin sind. Deswegen kann ich auch
keinerlei Haftung für eventuell auftretende Schäden übernehmen. Eines
kann ich jedoch guten Gewissens behaupten: Mein Programm ist auf jeden
Fall VIEL sicherer als so manche gewerbliche Programme. (Ich denke im
Moment an die erste Version eines ganz bestimmten
Textverarbeitungsprogramms, das sogar beim Textscrolling - einer ganz
normalen Anwendung - häufig abgestürzt ist.)
Auch meine fleißigen beta-Tester konnten keine Fehler mehr finden.
Noch was im voraus, damit Sie's gleich wissen: DisKey merkt an KEINER
Stelle, wenn sich an der Diskette durch einen anderen Task etwas geändert
hat. Da der Amiga ja (gottseidank) ein Multitasking-Rechner ist, muß man
immer damit rechnen, daß ein anderer Task während der Arbeit mit DisKey
auf der Diskette herumwurschtelt. Wird z. B. die BAM (Bit Allocation
Map) geändert, was bei fast jedem Schreibzugriff der Fall ist, erhält
DisKey keinerlei Information darüber. Falls Sie darauf Wert legen, müssen
Sie sich die mühevolle Arbeit machen und auf das Knöpfchen des
Diskettenlaufwerks drücken, so daß die Diskette herausspringt, oder über
das Menü einen Diskchange schicken. DisKey hat nun einen Diskchange
erhalten, und weiß damit auch etwas anzufangen: Er liest die wichtigsten
Sachen der Diskette (u. a. die BAM) neu. Jaja, anders geht's im Moment
noch nicht. Aber vielleicht hat ja jemand eine Idee und schreibt mir...
6.2) Die Bedienung:
Zum Editieren gibt es zwei Möglichkeiten: ASCII-Text und HEX-Zahlen.
Voreingestellt ist ASCII-Edit. Sie können durch einen Mausklick auf den
ASCII- bzw. HEX-Text zwischen den beiden Modi wählen. Das entsprechende
Fenster wird dann weiß umrahmt. Der Cursor läßt sich mit der Maus und mit
den Cursortasten positionieren. Die Tasten haben eine veränderliche
Wiederhol-Geschwindigkeit (voreingestellt ist sie relativ schnell, denn
sonst wird die Sache leicht nervig, wenn man da mal an gewisse Editoren
denkt, o-wei... Mehr zur Veränderung der Geschwindigkeit folgt unter
DisKey.Prefs). Die Keymap ist genau die, die Sie mit setmap eingestellt
haben. Programme, die Ihre eigene Keymap mit herumschleppen, oder die
Rawcodes per Hand auswerten, finde ich absolut NERVIG.
Beim ASCII-Edit werden fast alle Codes angenommen. Wenn Sie also zum
Beispiel auf ESC drücken, so bekommen Sie Ihr ESC auch. Da der Code
unsichtbar ist, wird er zwar nur als Punkt dargestellt, aber im
HEX-Display sehen Sie: 1B! Der gewünschte Code. Natürlich werden auch
CTRL-Codes angenommen - kein Problem! So entfällt nämlich endlich der
lästige Wechsel zwischen ASCII und HEX - zum Beispiel wenn man irgendwo
Steuercodes einflicken will. Da RETURN nichts anderes ist, als CTRL-M,
wird es auch komplett in 0D (HEX) umgewandelt.
Beim HEX-Edit werden Ziffern und Buchstaben von a (A) bis f (F)
angenommen. Klar!
Jedes geänderte Zeichen wird übrigens ROT dargestellt. So haben Sie immer
einen schönen Überblick, was Sie schon alles herumgemurkst
(Entschuldigung...) haben! Geänderte und bereits geschriebene Bytes
verfärben sich schwarz.
Aber es kommt noch mehr! Haben Sie etwas geändert und bereuen Sie es
schon wieder? Kein Problem! Drücken Sie die SHIFT-Taste und fahren Sie
dann über die entsprechende rot bzw. schwarz dargestellte Stelle. Der
Buchstabe wird wieder weiß, und erhält seinen alten Wert! Mit
ALT-Cursortaste hüpfen Sie langwortweise, mit CTRL-Cursortaste springen
Sie ans Anfang/Ende der Zeile bzw. des Blocks. In der Titelleiste sehen
Sie stets die momentanen Offests Ihres Cursors in Dezimal- und
Hexadezimaldarstellung. Außerdem wird angezeigt, in welchem Langwort sich
der Cursor gerade befindet. Also kein mühsames Langwort- und
Byteauszählen mehr!
Wenn Sie das Programm gestartet haben, sehen Sie zwölf Befehlsgadgets. Zu
wenig? Na, dann drücken Sie doch mal die rechte Maustaste! Was? In der
Titelzeile rührt sich nichts? Nun, dann schauen Sie sich doch mal die
zwölf Gadgets an! Sehen etwas anders aus, oder? Durch einen weiteren
Klick mit der rechten Maustaste bekommen Sie nochmal andere Gadgets. Ein
dritter Klickser (oder wie immer man das nennt) besorgt Ihnen wieder die
alten Gadgets. Ich fand diese Methode recht komfortabel, vielleicht ist
sie etwas gewöhnungsbedürftig, aber das sollte kein Problem sein. Falls
Ihnen diese Art der Bedienung nicht zusagen sollte: weiter unten erfahren
Sie etwas über Tastatursteuerung, und hier noch etwas für Menü-Freaks:
Neu in Version 2.0 sind die Pull-Down-Menüs. Wenn Sie die rechte
Maustaste über der Titelzeile drücken, können Sie die Befehle über die
Menüleiste auswählen. Zu jedem Gadget existiert auch ein entsprechender
Menüpunkt. Des weiteren ist über das Menü eine weitere allgemeine Info
erhältlich (unbedingt ansehen!!!) sowie eine Info für PD-Vertreiber.
Außerdem kann man mit dem letzten Menüpunkt die meisten der
DisKey.Prefs-Einstellungen (siehe weiter unten) nachträglich ändern.
"Gefährliche" Befehle habe ich mit einer "Kindersicherung" versehen, die
sogar mich schon vor schlimmeren Folgen bewahrt hat. Bei diesen Gadgets
müssen Sie LANGE auf dem Mausknopf bleiben, bei Menüs direkt nach dem
Anwählen den linken Mausknopf drücken, und zwar so lange, bis im Display
rechts unten die Anzeige "Alles klar!" erscheint. Lassen Sie den
Mausknopf früher los, so erscheint ein lästiger Requester, den Sie
umständlich zu beantworten haben, und ggf. wird der Befehl dann
abgebrochen. Gefährliche Befehle sind "INITDISK", "SCHREIBE" und "ENDE".
In dem Display rechts unten erfahren Sie übrigens so einiges während Ihrer
Arbeit. Alle Meldungen, die nicht in einem eigenen Window ausgegeben
werden, erscheinen rechts unten.
Es wird zum Beispiel eine ins aktuelle Laufwerk neu eingelegte Diskette
gleich etwas näher betrachtet. Dabei wird auch der Bootblock auf folgende
Viren hin untersucht:
Byte Bandit
SCA und Abkömmlinge
DASA (Byte Warrior)
North Star VIRUS (alte und neue Version)
System Z VIRUS V3.0, 4.0 und 5.0
Gadaffi VIRUS
Pentagon-VIRUS
Time Bomb VIRUS
Lamer-VIRUS (mehrer Versionen)
Byte Bandit plus
Gyros
Obelisk
Paramount
VKill 1.0
WAFT
Dazu wird zwei Langworte eingelesen und mit den Langwörtern der Viren
verglichen. Stimmen sie überein, so wird eine entsprechende Meldung
ausgegeben und Block 0 anstatt dem Root geladen und angezeigt. Besteht
das vierte Langwort aus Null-Bytes oder beginnt es mit "DOS", wird der
Benutzer entwarnt, ansonsten kommt die Meldung "Kein Standard-Bootblock".
Ich möchte jedoch hier noch ganz eindringlich darauf hinweisen, daß diese
Lösung KEIN besonders guter Schutz gegen zukünftige Bootblockviren ist, da
ja nur vier bzw. acht Bytes überprüft werden. Es kann deswegen auch eine
Virus-Warnung kommen, obwohl gar keiner auf der Diskette ist. Man sollte
sich bei Viren-Verdacht also immer den Bootblock ansehen, und keine
voreiligen Handlungen vornehmen!
Damit die Meldung "Kein Standard-Bootblock" nicht zu häufig kommt, habe
ich auch einige mehr oder weniger bekannte Bootblöcke archiviert. Wenn
einer der folgenden Bootblöcke gefunden wurde, erscheint ein
entsprechender Hinweis. Hier gilt das gleiche Erkennungs-Verfahren wie
bei Viren.
Blizzard Protector
Starfire 2 BOOTBLOCK
Memctrl BOOTBLOCK
AVirex BOOTBLOCK
Virusterminator BOOTBLOCK
Chip-BOOTBLOCK
CCS-BOOTBLOCK
Bootcopy BOOTBLOCK
Neuhaus BOOTBLOCK
Des weiteren habe ich noch folgende Bootblöcke bekommen, von denen ich
nicht weiß, ob es sich hierbei um einen Virus handelt, oder nicht.
Deswegen behandele ich Sie wie Viren, das heißt es wird nach dem Einlegen
der Diskette Block 0 angezeigt. Wer einen Bootblock davon kennt kann es
mir ja mitteilen!
ASS VIRUS Bootblock
Butonic Bootblock
PVL-Protector
Virus Destructor Bootblock
XCopy Bootblock
SQC Bootblock
Hotline Bootblock
Overscan Bootblock
MGF Bootblock
Memory_I Bootblock
Memory_II Bootblock
Pentagon Bootblock
Phaselock Bootblock
Playfield Bootblock
Protected Bootblock
StealMem Bootblock
Virus Alert I Bootblock
Virus Alert II Bootblock
Um den im Speicher aktiven Lamer zu umgehen, lese ich den Bootblock
zweimal - einmal normal und einmal mittels RAWREAD. Sind die Ergebnisse
verschieden, wird die Meldung RAWREAD <> TD_READ ausgegeben. Dies ist ein
Zeichen, daß der Lamer im System sein könnte. Wenn diese Meldung
permanent reporduzierbar ist, sollten Sie mal nachsehen. Leider kommt es
hin und wieder auch vor, daß RAWREAD den Block nicht ganz korrekt
eingelesen hat, dann erscheint diese Meldung, obwohl kein Virus aktiv ist.
Das Lesen des Bootblocks mit RAWREAD kann man übrigens auch ausschalten,
mehr dazu aber unter DisKey.Prefs. Tritt RAWREAD <> TD_READ auf, so
werden die Bootblöcke dieser Disk in Zukunft nur noch mit RAWREAD gelesen.
Hier ein herzliches Dankeschön an alle, die mir Bootblöcke oder Viren
(natürlich mit entsprechender Warnung) zukommen ließen. Ein besonderes
Dankeschön an Fred, Georg und Norbert. Wenn neue Viren auftauchen, können
Sie mir ja einen Bootblock-Hexdump schicken. Ich werde dann in der
nächsten Version eine entsprechende Warnung mit einbauen. Wer Angst hat
vor Viren, kann sich mal bei Alfred Manthey Rojas melden. Er hat ein
nützliches Programm dagegen geschrieben, das er für 30 DM verkauft. Da er
im Hamburg studiert und an dem Virenprojekt, das dort gestartet wurde,
mitarbeitet, dürfe er immer auf dem neuesten Stand sein, was (Amiga-)Viren
betrifft. Seine Adresse: Alfred Manthey Rojas, Eichenkamp 22, 2200
Elmshorn, Tel.: 04121/74734
Noch etwas: Ich habe die Viren nicht getestet. Ich weiß nur von dem
Lamer-Virus, daß er sich ständig verändert. DisKey entlarvt ihn aber
trotzdem - jedenfalls die meisten davon (vom Lamer gibt es mittlerweile
sehr viele unterschiedliche Versionen - eine soll sogar die Festplatte
formatieren). Falls einer der oben genannten Viren (außer Lamer-Virus)
sein Aussehen verändert, wird er nicht mehr erkannt. Falls Ihnen solch
ein Phänomen bekannt ist, informieren Sie mich bitte.
UFF, das war's zum Thema Bootblock und Viren...
Nun noch kurz zu den restlichen zwei Zeilen im Feld rechts unten: Die
letzte Zeile zeigt immer den Namen der Diskette, die Sie gerade
bearbeiten, an. Die zweite Zeile enthält folgende Informationen:
???? steht jeweils für "unbekannt".
Diskettentyp (DOS-normale Diskette / KICK-Kickstart / FFS)
Blockstatus (USED-benutzt / FREI-nicht benutzt / KICK-Kickstart Diskette)
Blocktyp (ROOT / BOOT / BAM / BEXT / DATA / HEADER / DIR / FILELIST / KICK)
ROOT: Rootblock (Bei Disketten immer Block 880)
BOOT: Bootblöcke einer Diskette (normalerweise 0 und 1)
BAM: Bit Allocation Map (Disketten-Belegungs-Tabelle)
BEXT: Extendet Bit Allocation Table (nur große Devices)
DATA: Daten-Block
HEADER: File-Header-Block
DIR: User-Directory-Block
FILE-LIST: File-List-Block
KICK: Kickstart-Disketten haben keine besonderen Blöcke!
Links unten finden Sie auch etliche Gadgets. Hier können folgende Werte eingestellt werden:
DRIVE: Laufwerk ab 0, je nachdem, wieviele Devices angeschlossen sind.
BLOCK: Der zu bearbeitende Block. (Bei Disks 0 bis 1759)
TRACK: Die Spur (Bei Disks 0 bis 159). Nicht zu verwechseln mit:
CYL.: Der Zylinder (Bei Disks 0 bis 79).
SEC.: Der Sektor (Bei Disks 0 bis 10).
HEAD: Die Kopfnummer (Bei Disks 0 oder 1).
Bei Festplatten usw. sind die Grenzen meist anders und von Device zu
Device verschieden. Infos dazu herhalten Sie über den Menüpunkt
"Format-Info". Die Werte können durch einen Klick auf '+' und '-'
verändert werden. Natürlich lassen sie sich auch direkt über die Tastatur
eingeben. Dazu klickt man einfach auf das entsprechende Gadget, und schon
kann man den Wert eingeben. Hierzu können folgende Tasten verwendet
werden:
0 bis 9 (ist ja klar!)
BACKSPACE (löscht das Zeichen links vom Cursor.)
ESC (macht alles rückgängig. Der augenblickliche - evt. schon editierte
- Block wird also NICHT durch Überschreiben gelöscht.)
RETURN (schließt die Eingabe ab.)
A Propos: Lassen Sie sich nicht vom nicht-vorhandenen Cursor
beeindrucken, ich war schlicht noch zu faul, ihn zu programmieren.
Außerdem hätte ich dann Schwierigkeiten mit dem Platz bekommen, denn der
Cursor steht immer HINTER dem letzen Zeichen, und bei "BLOCK" hat da bei
großen Harddisks kein Cursor mehr Platz!
So, nun müssen Sie sich nur noch die Beschreibung zu den einzelnen
Menüpunkten zu Gemüte führen. Lassen Sie sich von einigen Fähigkeiten
überraschen! Falls Ihnen bei den Menüpunkten ein rotes Fenster über den
Weg läuft (ich wußte gar nicht, daß Fenster laufen können...) kann man es
übrigens entweder durch eine Leereingabe (falls eine Eingabe verlangt
wird) oder durch einen Mausklick verlassen.
Falls in dem Fenster eine Eingabe verlangt wird, können Sie mit ESC,
CTRL^X oder Amiga^X die gesamte Eingabe wieder löschen, so daß Sie um
etliche BACKSPACES herumkommen, die Sie natürlich auch benutzen können.
Manchmal funktionieren bei der Eingabe alle Tasten, manchmal nur
HEX-Zahlen, manchmal auch nur Ziffern. Das kommt immer auf den einzelnen
Fall drauf an. Natürlich funktionieren auch die Cursortasten und die
DEL-Taste! Mit Shift^Cursor rechts/links gelangen Sie ebenso wie mit
Cursor auf/ab an Ende bzw. Anfang der Zeile. Amiga^Q macht die Eingabe
rückgängig.
Falls Sie sich fragen, warum ich nicht die komfortablen String-Gadgets
verwendet habe: Meine Routine sperrt zum Beispiel bei HEX-Eingaben von
Anfang an ungültige Tasten, was mit String-Gadgets leider nicht möglich
ist. (Vielleicht geht's ja auch irgendwie. Dann isses aber sehr
kniffelig!) Darauf wollte ich aber nicht verzichten.
Nun aber endlich zu den Menüpunkten:
6.3) Die Menüpunkte:
Bitte behalten Sie bei der Benutzung der Menüpunkte immer die erste Zeile
im Kasten rechts unten im Auge. Oft erscheinen hier Fehlermeldungen,
Warnungen, und ähnliches.
LESEN:
Liest einen Block nochmal frisch ein, z. B. wenn man etwas ausgebessert
hat.
SCHREIBEN:
Hier wird der Block auf Diskette zurückgeschrieben! Kindersicherung!
DRUCKEN:
Der Block wird - ähnlich wie bei "Type opt h" ausgedruckt - vorausgesetzt
natürlich, Sie haben einen Drucker! Mit Hilfe der DisKey.Prefs (siehe
unten) können Sie den Druckpfad auch umleiten oder die Status-Zeile
ausschalten.
MERKEN:
Der Block wird im einem Zwischenspeicher abgelegt.
HOLEN:
Der Block wird aus dem Zwischenspeicher zurückgeholt und überschreibt
damit den Block, der gerade editiert wird. Natürlich wird der
Zwischenspeicher NICHT auf Diskette geschrieben!
SUMME:
Die meisten Blöcke verfügen über eine Prüfsumme. Nachdem man einen Block
ausgebessert hat, sollte man - bevor man ihn abspeichert - auf Summe
klicken. Hier sind viele Abfragen eingebaut:
KICKSTART: Eine Kickstart hat nur eine Prüfsumme, nämlich in Block 512.
Befindet man sich im Block 512 einer Kickstart, so werden nacheinander die
Blöcke 1 bis 512 eingelesen, und die somit errechnete Prüfsumme an die
entsprechende Stelle im Block 512 eingetragen. SCHREIBEN nicht vergessen!
Der Vorgang kann jederzeit durch einen Mausklick in das rote Fenster, das
sich öffnet, beendet werden!
BOOTBLOCK: Die Summe der Bootblöcke steht in Block 0. Befindet man sich
hier, so werden die anderen reservierten Bootblöcke auch noch eingelesen
und die Summe gebildet. Nur wenn die Prüfsumme der Bootblöcke stimmt,
versucht der Amiga von der Diskette zu booten. Wenn jedoch die Summe
stimmt, aber kein entsprechendes Bootprogramm im Bootblock steht, dann
können Sie einen schönen GURU erleben!!!
ANDERE BLÖCKE: Auch hier wird die Prüfsumme eingetragen. Bei der BAM im
ersten Langwort, sonst im 6.
Im FFS haben Datenblöcke und extended Bitmap-Blöcke keine Prüfsumme.
Entsprechend wird hier auch keine Prüfsumme eingetragen.
SUCHEN:
Wollen Sie, daß das Programm zwischen Groß- und Kleinschrift
unterscheidet? Das können Sie hier als erstes wählen. Allerdings gelten
nur Buchstaben von 'a' ('A') bis 'z' ('Z') als gleich. Umlaute hingegen
müssen richtig eingegeben werden, aber wer sucht schon Umlaute... Geben
anschließend Sie an, ob Sie nach HEX- oder ASCII-Daten suchen wollen. Die
entsprechenden Daten werden natürlich auch noch benötigt, ebenso wie
Start- und Endblock. Dann beginnt die Sucherei. Ein Abbruch ist
jederzeit durch einen Mausklick ins rote Fenster möglich.
Wenn etwas gefunden wurde, Sie aber gerne noch weitersuchen möchten,
klicken Sie LANGE auf Suchen. So lange, bis die Meldung "Suche nach:
xxx" erscheint. Dann lassen Sie den Mausknopf los, damit mit der Sucherei
begonnen werden kann.
Ach ja, nochwas: wundern Sie sich bitte nicht, wenn bei einer Diskette
mit Lesefehlern eine Fehlermeldung auftaucht, obwohl die fehlerhaften
Blöcke - laut Anzeige - noch gar nicht gelesen werden. In Wirklichkeit
wird aber immer einer mehr gelesen, und wenn dieser fehlerhaft ist,
erscheint schon die Fehlermeldung. Also stören Sie sich bitte nicht
daran!
FORMAT:
Start- und Enttrack (Track, nicht Zylinder!) angeben. Dann wird
formatiert. Jedoch ohne VERIFY! Abbruch durch Klick ins rote Fenster!
Zum Schluß wird noch eine Errortable ausgegeben.
REFORMAT:
Läuft wie FORMAT, nur gaaaanz anders! Bevor der Track formatiert wird,
wird dieser erst einmal eingelesen. Beim Formatieren werden die Daten,
die eben eingelesen wurden, wieder auf Diskette geschrieben. Als "Bonbon"
dürfen Sie die Lese- und Formatierversuche selber angeben. Sie müssen nur
zwischen 1 und 10 liegen.
Wenn das Lesen innerhalb der angegebenen Versuche nicht so ohne weiteres
klappt, versucht das Programm sein Glück mit RAWREAD. Anschließend wird
versucht, den Track neu zu formatieren. Wenn die Diskette allerdings
total verheizt ist, wird das nicht viel bringen. Also gehen Sie
folgendermaßen vor:
Kopieren Sie die kaputte Disk mit einem guten Kopierprogramm, das auch
Fehler mitkopiert, auf eine fehlerfreie Disk, damit das Formatieren später
auch klappt. Ich habe die Sache mit A-Copier getestet. Starten Sie dann
DisKey und behandeln Sie die defekten Tracks mit REFORMAT. Es macht dabei
normalerweise nichts, wenn aus Versehen auch andere Tracks bearbeitet
werden. Es können aber auch mit RAWREAD nicht immer alle Daten gerettet
werden. Glück haben Sie, wenn die defekten Blöcke in dem Track sowieso
unbenutzt waren (sehen Sie im Kasten rechts unten, dort steht entweder
USED oder FREI). Dann ist wohl nichts passiert. Schauen Sie sich die
Blöcke des Tracks nacheinander an. Wenn im Kasten USED steht, klicken Sie
einmal auf Summe. Hat sich die Checksumme verändert? (Notfalls mit
SHIFT-Cursortaste alten Wert zum Vergleichen zurückholen!) Wenn nicht,
wurden wohl alle Daten dieses Blocks ordnungsgemäß restauriert. Glück
gehabt! Falls sich die Checksumme ändert, stimmen auch die Daten nicht
mehr. Vielleicht ist nur ein Bit umgekippt, vielleicht sind aber auch
etliche Bytes falsch. Auf jeden Fall haben Sie dann mit Datenverlust zu
rechnen, leider.
Wann immer REFORMAT zu RAWREAD greifen muß, wird ein Fehler registriert,
der später auch in der Errortable erscheint. Das heißt aber nicht, da
jetzt auf jeden Fall ein Fehler auf Ihrer Diskette ist. Manchmal kann
DisKey mit Hilfe von RAWREAD einen Track, der vorher unlesbar war, völlig
restaurieren. Wenn der Track stark angegriffen ist, versucht DisKey
manchmal bis zu 10 Mal sein Glück mittels RAWREAD. Danach werden die
Daten, die decodiert werden konnten, auf Diskette zurückgeschrieben. Also
wundern Sie sich bitte nicht, wenn RAWREAD manchmal schnell vonstatten
geht, und manchmal etwas dauert.
Leider ist es mir aus völlig unerklärlichen Gründen auch schon einmal
passiert, daß ein RAWREAD-Versuch so gescheitert ist, daß der gesamte
Track mit Nullbytes überschrieben wurde. Dieser Fehler war aber nicht
reproduzierbar. Arbeiten Sie aber trotzdem sicherheitshalber nur mit
einer Kopie! RAWREAD funktioniert übrigens nur mit Disketten, also nicht
mit Festplatten usw., auch nicht bei DisKey Professional.
INFO:
Hier habe ich mich verewigt. Außerdem erfahren Sie noch etwas über die
eingelegte Diskette.
INFO =>:
Klicken Sie ein Langwort an. Wenn der Wert des Langworts irgendwo im
Bereich der gültigen Blöcke (bei Disks 0 bis 1759) liegt, wird dieses als
Zeiger auf einen Block interpretiert, und Sie erhalten einige Angaben über
diesen Block. Ein Klick in den Bereich der zwölf Befehlsgadgets bringt
Ihnen Informationen über den aktuellen Block. Dabei wird aber nur
berücksichtigt, was bereits auf Diskette steht - die Sachen, die Sie
editiert haben, werden also ignoriert! Falls Sie in einen ungültigen
Bereich klicken, wird eine entsprechende Fehlermeldung ausgegeben.
ENDE:
Werden Sie nur gaaanz selten brauchen, deswegen ist eine
Sicherheitsabfrage UNBEDINGT nötig, denn wer weiß, ob Sie sich nicht
"verklickt" haben...
WINDOW:
Hier wird ein kleines Fenster geöffnet, dem Sie ständig entnehmen können,
wie das Langwort, in dem sich gerade Ihr Cursor befindet in
vorzeichenbehafteter Dezimaldarstellung lautet. Desweiteren wird das
Byte, über dem der Cursor gerade steht in Dezimaldarstellung angezeigt.
Und damit Sie immer wissen, ob Sie gerade im HEX oder im ASCII-Window
editieren, wird auch dies angezeigt. Ein weiterer Klick auf WINDOW
schließt dieses Fenster wieder. Übrigens: Das Fenster kann auch
verschoben werden.
FÜLLEN:
Wenn Sie den ganzen Block mit irgendwas (ASCII oder HEX) füllen wollen,
dann ist dieser Menüpunkt der Richtige für Sie!
FILEHEAD:
Sie wollen zu einem bestimmten FILEHEAD oder DIRECTORY? Dann geben Sie
hier einfach den kompletten Pfadnamen ab dem ROOT (Hauptverzeichnis) ein.
Groß-/Kleinschreibung spielt keine Rolle - außer bei Umlauten ect.! Bsp.:
devs/printers oder devs/system-configuration
INITDISK:
/ Sehr GEFÄHRLICH, deswegen erfolgt auch eine Sicherheitsabfrage.
/ Dieser Befehl schreibt den BOOTBLOCK, den ROOTBLOCK, und die BAM
/ _ neu. So können Sie eine Diskette in sekundenschnelle komplett
¯¯¯¯/ löschen. Die Datenblöcke werden natürlich nicht gelöscht, aber
/ dadurch, daß ALLE Zeiger auf Datenblöcke, Directoryblöcke usw.
\/ gelöscht werden, und in der BAM als frei eingetragen werden,
¯¯ haben Sie nach dieser Prozedur eine praktisch leere Diskette vor
sich. Dieser Befehl muß aber angewandt werden, wenn mittels
FORMAT der ROOT-Block überschrieben wurde, sonst können Sie die
Diskette vergessen!
PRÜFEN:
Start- und Endtrack eingeben, und schon werden all diese Tracks
eingelesen. Fehlermeldungen werden rechts unten ausgegeben. Am Ende des
Vorgangs erfahren Sie, wieviele Fehler aufgedeckt wurden. Abbruch durch
Klick ins rote Fenster. Eine Errortable fehlt auch nicht!
>>>============================================================<<<
>>> HIER BEGINNEN EINIGE RECHT UNSCHEINBARE BEFEHLE UM DEFEKTE <<<
>>> DATEIEN ZU RETTEN. UNBEDINGT LESEN!!! <<<
>>>============================================================<<<
RAM: AUF:
Es wird ein neues File auf der RAM-Disk geöffnet. Hier können Sie alle
Daten ablegen, um sie sich später in aller Ruhe ansehen zu können. Falls
bereits eine RAM-Datei geöffnet war, wird diese geschlossen, und eine neue
Datei geöffnet. Die Dateien heißen RAM:DisKey0, RAM:DisKey1, usw. Bei
jedem DisKey-Start wird mit dem Zählen neu begonnen, und eventuell
vorhandene "DisKey#?"-Dateien überschrieben. Der Pfadname kann in den
DisKey.Prefs (siehe unten) geändert werden.
ALLES:
Der gesamte Block (512 Bytes) wird in die (hoffentlich) zuvor geöffnete
RAM-Datei abgelegt.
DATEN:
Funktioniert nur, wenn Sie sich gerade in einem Daten-Block befinden. Es
werden dann alle DATEN in der RAM-Disk-Datei abgelegt. Meist sind dies
beim normalen Filesystem 488 Bytes, manchmal auch weniger. Beim FFS sind
es 512 Bytes
RAM: ZU
Die RAM-Datei wird wieder geschlossen. Dies geschieht auch automatisch
bei folgenden Tätigkeiten:
1) RAM: AUF (Die alte Datei wird geschlossen, eine neue geöffnet)
2) ENDE
3) => RAM: (Wie RAM: AUF)
=> RAM:
Dies ist meiner Meinung nach ein SEHR nützlicher Befehl, um einige Dateien
zu retten. Hatten Sie schon einmal den "DISK CORRUPT"-Requester? Oder
einen Read-Write-Error, ohne daß die Diskette einen Hard-Error hatte?
Wenn PRÜFEN keine Fehler anzeigt, ist es gut möglich, daß entsprechende
Dateien komplett gerettet werden können. Die geretteten Dateien werden
dann in der RAM-Disk abgelegt. (Siehe RAM: AUF!)
Nun aber zur Vorgehensweise beim Retten von Dateien. Es gibt hier
grundsätzlich zwei Möglichkeiten:
1) Sie befinden sich in einem Datenblock des alten File-Systems
(wichtig!!). Ein Klick auf "=> RAM" bewirkt hier, daß sich das Programm
so weit wie möglich vorhangelt, bis es an dem letzten Block ankommt, oder
ein Fehler ein Weiterkommen verhindert. Manchmal ist aber nur der
File-Header zerstört, der dann für oben genannte Requester sorgt. In
diesem Fall müssen Sie also nur den ersten Datenblock aufsuchen, und dann
das => RAM:-Gadget anklicken. Wenn Sie sich im ersten Block der Datei
befinden, wird die gesamte Datei in die RAM-Datei geschrieben. Bei einem
höheren Datenblock wird nur der Rest der Datei (ab jenem Datenblock)
übernommen. Diese Sache funktioniert - wie gesagt - nur beim normalen
File-System, da im FFS die Datenblöcke nicht mehr miteinander verkettet
sind. Fürs FFS lesen Sie bitte unter 2) weiter.
WIE KOMME ICH IN DEN ERSTEN DATENBLOCK EINER DATEI?
Dazu gibt es "FILEHEAD"! Sie geben den Dateinamen ein, und FILEHEAD
versucht den HEADER ausfindig zu machen. Im fünften Langwort des HEADERS
befindet sich ein Zeiger auf den ersten Block der Datei. Mit INFO => läßt
sich dies leicht überprüfen: INFO => anklicken, dann das fünfte Langwort
wählen. Es müßte sich also hier um den ersten Datenblock der gewünschten
Datei handeln. Nun können Sie hineinSPRINGEN. (Wie das geht, kommt
noch!) Einfacher haben Sie's aber, wenn Sie im HEADER einfach FOLGE (kommt
auch noch, nur Geduld...) anwählen. Mit INFO => und einem anschließenden
Klick in den Bereich der zwölf Befehlsgadgets können Sie testen, ob sich
sich tatsächlich in dem richtigen Block, dem 1. Datenblock der
gewünschten Datei, befinden. Nein? Dann gehen Sie nochmal in den HEADER
und holen Sie sich mit INFO => Informationen über das 78. Langwort (HEX:
134). Falls das der 1. Datenblock der gewünschten Datei sein sollte,
dann SPRINGEN Sie hinein. Falls es aber auch nicht klappt, so probieren
Sie doch einfach einmal, ob nicht der nächste Block der gewünschte
Datenblock ist: Gehen Sie hinein und testen Sie es mit INFO =>. Wenn das
immer noch nicht klappt, kann ich nur noch hoffen, daß Sie einige
Daten-Bytes der gesuchten Datei kennen. Diese sollten möglichst ganz am
Anfang der Datei stehen. Probieren Sie dann Ihr Glück mit SUCHEN. Ich
hoffe, daß wenigstens das hilft!
2) Wenn Sie sich in einem Fileheader (z. B. mittels FILEHEAD) befinden,
ist auch meist noch einiges zu machen, auch beim FFS. Hier sind nämlich
alle Zeiger auf die Datenblöcke nochmal aufgeführt. Falls nun mitten im
Reparaturvorgang ein Fehler beim Lesen eines Datenblocks auftritt, wird
eine neue Datei begonnen, die DisKey<n>.teil1 genannt wird. So werden
auch Harderrors übergangen. Die Daten, die in den Harderrortracks
stehen/standen, können leider nicht mehr gerettet werden, dafür aber alle
anderen. Bei Programmen hilft das zwar reichlich wenig, aber um
Source-Codes oder Text-Dateien teilweise zu retten, ist diese Methode ganz
vernünftig. Treten mehrere solche Fehler auf, werden entsprechend viele
".teil(x)"-Dateien gebildet. Jedesmal, wenn ein Block gelesen werden
soll, und das scheitert, wird die Meldung "Beginne neues File" ausgegeben.
Wundern Sie sich jedoch nicht, wenn später viel weniger Dateien in der
RAM:-Disk stehen. Das liegt daran, daß Dateien, die leer sind, gleich
wieder überschrieben werden. Wenn nun einige Lesefehler HINTEREINANDER
auftreten, wird jedesmal eine neue RAM:-Datei geöffnet. Da aber auch der
nächste Leseversuch scheitert, bleibt die vorige Datei leer, und wird
deswegen gleich wieder überschrieben.
PS: Um auf Disketten die Daten in Tracks mit Hard-Errors zu retten,
benutzen Sie bitte vor "RAM =>" REFORMAT. Wie das funktioniert, müßten
Sie ja schon gelesen haben. Außerdem kann ich Ihnen dazu FixDisk
wärmstens empfehlen. Ich weiß zwar nicht, ob die Routine in FixDisk
besser ist als meine, aber sie funktioniert auf jeden Fall auch
hervorragend und hat mir - bevor ich meine eigene Routine schrieb - schon
so manchen Hard-Error halbwegs restauriert. Auf jeden Fall mein
Dankeschön an Werner Günther für das wertvolle Tool!
Wenn die Hard-Errors dann aufgehoben wurden, kann DisKey's "RAM
=>"-Funktion schon wieder etwas mehr mit der Diskette anfangen.
Vielleicht haben Sie Glück, und der Schaden hält sich in Grenzen!
-> ALLES:
Hier geben Sie eine Datei an. Stellen Sie sich die Datei in lauter Blöcke
zu 512 Bytes zerlegt vor. So, nun können Sie angeben, welchen Block Sie
gerne hätten. Den Ersten, oder den Zweiten, oder noch einen anderen? Der
Block wird dann geladen und Ihr momentan bearbeiteter Block durch diesen
Block ersetzt.
-> DATEN:
Wie "-> ALLES", nur daß ein Block beim normalen Filesystem nur 488 Bytes
hat. Diese 488 Bytes werden dann wie bei einem Datenblock - also beim
normalen File-System ab Langwort 7 - eingeflickt.
Die letzten beiden Menüpunkte sind vor allem nützlich, um
DisKey<n>-Dateien (siehe ALLES und DATEN) wieder zurückzuholen. Sie
können auch Bootblöcke ect. damit archivieren, wobei dies aber nicht sehr
komfortabel ist.
Ist Base = 0 gesetzt (DisKey.Prefs), so beginnt DisKey auch hier (-> Alles
und -> Daten) mit 0 - und nicht mit 1 zu zählen.
UND WEITER GEHTS MIT DER DRITTEN GADGETLEISTE!
SPRINGEN:
Ein Klick auf ein Langwort - und schon sind Sie im gewünschten Block -
sofern der Wert des Langworts auf irgendeinen gültigen Block zeigt. (Bei
Disks irgendwo zwischen 0 und 1759.)
ROOT:
ROOT bringt Sie automatisch in den Root-Block (Bei Disks 880). Sie müssen
die Zahl also nicht immer umständlich eingeben, das spart Zeit.
BOOT:
BOOT bringt Sie automatisch in den Block 0. Hier finden Sie eventuell
vorhandene Bootblock-Viren, Boot-Intros ect..
BAM:
BAM lädt den ersten Bit Allocation Map Block. In diesem Block ist
vermerkt, welche Blöcke der Diskette schon belegt sind und welche noch
nicht.
FOLGE:
FOLGE funkioniert nur, wenn Sie sich in einem Header oder in einem
Daten-Block des normalen File-Systems befinden. Im Falle eines Headers
wird der erste Datenblock geladen. Wenn Sie sich schon in einem
Datenblock befinden, wird der nächste Datenblock geladen, falls noch einer
vorhanden ist.
VORHER:
besorgt Ihnen den vorherigen Datenblock, funktioniert aber nur in
Datenblöcken ab Block 2 (sonst gibt's ja keinen vorherigen Block...) und
auch nur im alten File-System. Bei defekten Dateien können Probleme
auftreten.
HEADER:
HEADER lädt den File-Header zu einem File, wenn Sie sich gerade in einem
Datenblock oder in einem File-List-Block befinden. Beim FFS klappt es
nur, wenn Sie sich in einem List-Block befinden.
PARENT:
PARENT lädt das übergeordnete Directory, falls Sie sich gerade in einem
File-Header oder in einem Directory-Block befinden. Wenn Sie gerade in
einem Data- oder File-List-Block sind, gehen Sie einfach mittels HEADER in
den File-Header, dann mit PARENT ins übergeordnete Verzeichnis.
Wenn einer der Spring-Menüpunkte nicht funktioniert, zum Beispiel weil man
sich im falschen Block befindet, wird eine entsprechende Fehlermeldung
rechts unten ausgegeben. Außerdem funktionieren BAM, FOLGE, VORHER,
HEADER und PARENT nur bei DOS-Disketten. Bei der Benutzung des
Fast-File-Systems kann VORHER nicht, FOLGE und HEADER dagegen nur
eingeschränkt benutzt werden.
=> FREI:
Der Block, den Sie gerade vor sich haben, wird in der BAM als FREI
markiert und die BAM wird gleich abgespeichert!
=> USED:
Wie FREI, nur umgekehrt!
7) DisKey.Prefs:
================
Wie Sie vielleicht schon bemerkt haben, existiert in diesem Verzeichnis
ein File namens "DisKey.Prefs". Dieses dient dazu, gewisse
Voreinstellungen an dem Diskettenmonitor vorzunehmen. In Version 2.0 kann
man die meisten Sachen nun auch nachträglich - über Menü - ändern.
Folgende Schlüsselwörter werden nun unterstützt - mit (*) gekennzeichnete
Schlüsselwörter können auch nach dem Starten geändert werden. Die Angaben
in den eckigen Klammern [] beziehen sich auf die voreingestellten Werte.
BAMChange = TRUE oder FALSE [TRUE] (*)
Im Fall TRUE wird das AmigaDOS über jede Änderung der Blockbelegung mit
"Frei" und "Used" informiert.Wichtig ist dies vor allem, wenn im
Multitasking-Betrieb auf die bearbeitete Disk zugegriffen wird, denn sonst
könnte das DOS mittlerweile belegte Blöcke unvermittelt überschreiben.
BASE = 0 oder 1 [1] (*)
Basis der Offset-Anzeige in der Menüleiste: Bei "BASE = 0" werden die
Langworte von 0 bis 127 durchgezählt, ansonsten von 1 bis 128. Die
eingestellte BASE gilt auch für -> ALLES und -> DATEN.
COLOR0 = RotGrünBlau [339]
Setzt die Hintergrundfarbe
COLOR1 = RotGrünBlau [0FF]
Setzt die Vordergrundfarbe
COLOR2 = RotGrünBlau [000]
Setzt Farbe 2 (schwarz)
COLOR3 = RotGrünBlau [C71]
Setzt Farbe 3 (rot)
CURSORDELAY = 0 bis 99 [15]
Wartet n/50 Sekunden, bis die gedrückte Taste wiederholt wird.
CURSORSPEED = 0 bis 9 [2]
Wartet n/50 Sekunden zwischen zwei Cursor-Bewegungen.
DRIVE = Nummer oder DeviceName:
Bestimmt das Drive/Device, von dem beim Start gelesen werden soll. N ist
die Nummer des Drives, wie sie auch bei "DRIVE" eingegeben werden kann.
DeviceName: ermöglicht es, das Drive über den Devicenamen (z. B. df0:)
zu spezifizieren.
EDMODE = ASCII oder HEX [A]
Legt fest, in welchem der beiden Editiermodi sich DisKey bei Starten
befinden soll.
INHIBIT = TRUE oder FALSE [F] (*)
Steht INHIBIT auf TRUE, so ist das bearbeitete Device vom DOS aus nicht
erreichbar. Wenn eine Diskette so stark beschädigt ist, daß das DOS
normalerweise schon beim Einlegen mit "Disk corrupt" abstürzt, kann sie
per INHIBIT = TRUE doch noch bearbeitet werden.
KINDERSICHERUNG = TRUE oder FALSE [T] (*)
Schaltet die Kindersicherung ab.
LACE = TRUE oder FALSE [F]
Bei NTSC's auf TRUE setzen, so daß ein Interlace-Screen geöffnet wird.
PRINTFILE = Filename (mit '#' abgeschlossen) [PRT:#] (*)
Wenn kein Drucker vorhanden ist, kann man die Ausgabe in ein File
umlenken.
PRINTINFO = TRUE oder FALSE [T] (*)
Legt fest, ob Ausdrucke einen entsprechenden Kopf mit Blocknummer und
Diskettenname erhalten sollen.
RAWREAD = TRUE oder FALSE [T] (*)
Wenn RAWREAD = TRUE gesetzt ist, werden sowohl Bootblock beim Wechseln des
Devices, als auch defekte Tracks beim noch einmal mit RAWREAD gelesen.
Die erhöhte Datensicherheit geht aber auf Kosten der Zugriffszeit. Wenn
Sie also keinen Virus im System haben, und nur einwandfreie Disketten
bearbeiten, können Sie getrost auf RAWREAD verzichten.
RETTEN = Pfadname (mit '#' abgeschlossen) [RAM:#] (*)
Bestimmt den Zugriffspfad, unter dem gerettete Dateien gespeichert werden
sollen. '#' schließt den Pfadnamen ab. Gültige Pfadnamen sind: RAM:#,
RAM:DisKey/# und ähnliches.
SCREEN = Workbenchscreen oder Customscreen [W]
Bestimmt, auf welchen Screen DisKey gestartet wird.
SETPREFS = TRUE oder FALSE [T] (*)
Legt fest, ob CURSORDELAY und CURSORSPEED in die Preferences-Struktur
geschrieben werden. Diese Option wurde eingeführt um DisKey kompatibel zu
MachII zu machen. Bei Benutzung von MachII benutzen Sie FALSE.
SHOWNULL = TRUE oder FALSE [T] (*)
Wenn ShowNull aktiv ist, wird bei jedem Device-Wechsel Block 0 gezeigt,
sofern DisKey der Bootblock nicht ganz gefällt (Viren). Ansonsten wird
weiterhin der Rootblock angezeigt. Ist RAWREAD auf TRUE, bietet DisKey einen
relativ guten Schutz gegen die bekannten Lamer-Viren.
Nun aber zum Aufbau der Datei: Es wird nach obigen Schlüsselwörtern
gesucht. Groß/Kleinschreibung spielt dabei keine Rolle. Diese Worte
müssen allerdings am ANFANG einer neuen Zeile stehen, oder direkt nach
einem Strichpunkt. Nach diesen Schlüsselworten können einige Leerzeichen
folgen, sie können aber auch weggelassen werden. Dann folgt ein "=",
anschließend nochmal 0 bis einige Leerzeichen, und zum Schluß noch ein
oder mehrere Buchstaben, mit denen dem Programm genaueres über den
gewünschten Screen bzw. das Drive usw. mitgeteilt wird. Bei mehreren
Buchstaben ist übrigens meist nur der erste von Bedeutung, die restlichen
sind beliebig und können z. B. als Kommentar mißbraucht werden. Damit
wären dann wohl alle Klarheiten beseitigt, oder? Schade! Aber wie wär's
mit 'nen paar Beispielsdateien, vielleicht hilft das!
Screen=W W steht für Workbench, C für Custom
Drive=1 Drive 1 ist also nach dem Starten aktiv
Cursorspeed=2 Der Cursor wartet immer 2/50 Sekunden bis er
weitermarschiert
Cursordelay=15 Der Cursor wartet 15/50 Sekunden nach einem
Tastendruck, bis er sich in Bewegung
versetzt. Hier werden außnahmsweise 2
Stellen berücksichtigt!
ShowNull=TRUE Bei Virenverdacht wird Block 0 angezeigt
Kindersicherung=T Kindersicherung eingeschaltet
EDMODE=ASCII Nach dem Starten des DisKey ASCII-Modus
einschalten
Retten=RAM:# In die Ram-Disk retten. Das '#'-Zeichen
kennzeichnet das Ende des Dateinamens. Hier
werden alle Buchstaben bis zum '#'-Zeichen
berücksichtigt.
BamChange=TRUE DOS informieren
Inhibit=FALSE Diskette nicht "BUSY" machen
Base=1 Fange bei 1 an Langwörter usw. zu zählen
SetPrefs=FALSE Oder benutzen Sie MachII?
COLOR0=33A Die
COLOR1=0FF vier
COLOR2=222 Farben
COLOR3=B33 (HEX)
LACE=FALSE Kein Interlace (für NTSC's TRUE)
Screen = A A ist ungültig, also erscheint der
Workbenchscreen
Drive = DF1: Kann man sich sparen, denn das ist ja
sowieso voreingestellt
Cursorspeed=0 Oh, herrje, ist das aber schnell!
Cursordelay=0 Der rast ja SOFORT los!!!
BamChange=t DOS informieren
ShowNull=FALSE Bei Virenverdacht wird weiterhin Block 880
angezeigt
Kindersicherung=F Oh, ist das aber gefääähhhrlich
Retten=:DisKey/# Ins Verzeichnis ":DisKey" retten. Merken Sie
sich: Der Name wird komplett übernommen. Nur
das #-Zeichen wird später durch DisKey<n>
ersetzt.
Edmode=H Hex-Modus nach dem Starten aktivieren
color0=33b;color1=fff;color2=222;color3=f00
SCREEN = C In diesem Fall wird ein Customscreen
geöffnet
Man kann auch eine eigene Zeile für einen Kommentar benutzen!
Cursorspeed=9 Der höchste Wert, der erlaubt ist. Das ist
aber wahnsinnig langsam!
CURSORDELAY=99 Hier gilt das gleiche wie eine Zeile höher
ShowNull=??? Im Zweifelsfall gilt: ShowNull=TRUE
Retten=:DisKey# Hier wird in die RAM-Disk gerettet, denn das
/-Zeichen fehlt! Der Dateiname lautet dann
also: RAM:DisKey<n>. Tja, das war wohl
nicht das, was wir wollten...
base=0 wird wegen des Leerzeichens vor "base"
nicht erkannt
Alles klar? Die Kommentare dürfen ruhig mit angegeben werden. Ungültige
Eingaben werden ignoriert, und durch die Voreinstellungen überschrieben.
Achten Sie bitte darauf, daß bei Ihren Kommentaren keine Schlüsselwörter
am Anfang der Zeile oder direkt nach einem Strichpunkt stehen, denn sonst
werden Ihre Kommentare evt. als Befehlszeilen interpretiert, und ich wei
nicht, ob das immer im Sinne des Benutzers ist. Ach ja, da ist ja noch
eine weitere Möglichkeit! Falls Sie die Voreinstellungen ständig ändern
wollen, können Sie mehrere Dateien schreiben, denen Sie dann natürlich
verschiedene Namen geben. Wenn Sie DisKey dann vom CLI aus aufrufen,
geben Sie den kompletten Pfadnamen der gewüschten Datei ein.
"DisKey.Prefs" wird dann ignoriert und stattdessen jene Datei geladen.
Beispiel: 1> DisKey MeinePrefs
Wenn DisKey erst einmal beim Laden einer Datei ist, und dann feststellt,
daß diese nicht existiert, werden die voreingestellten Werte
(Workbenchscreen, Drive 0 usw. - siehe oben) übernommen! Falls keine
Datei mit angegeben wird, und DisKey.Prefs im aktuellen Verzeichnis nicht
zu finden ist, sucht das Programm im Directory s: nach diesem File. Wenn
Sie DisKey öfters benutzen, empfehle ich Ihnen, Ihre DisKey.Prefs ins
s:-Directory zu kopieren! Und haben Sie keine Angst: Falls s: gerade
nicht errechbar ist (zum Beispiel die Workbench flattert mal wieder auf
dem Schreibtisch rum, statt im Laufwerk zu liegen), wird kein lästiger
Requester ausgegeben, sondern einfach die Voreinstellungen übernommen!
Alors, jetzt dürfte über "DisKey.Prefs" alles gesagt - äh geschrieben -
sein. Nachträgliche Änderungen können - zu mindest zum Teil - auch noch
per Menü vorgenommen werden.
8) Die Bedienung für die "eingefleischten DisKey-User/innen"
============================================================
Fast alle Befehle können nun auch über Tastatur angewählt werden, so wie
Sie es von den HOT-Keys der Menüs gewohnt sind. Ich habe versucht, die
Kombinationen möglichst logisch zu gestalten. Da ich aber dazu einige
Tasten vier mal benötigt hätte, war dies nicht immer möglich. Ich hoffe,
Sie können sich die Belegung trotzdem noch merken. Es sind nicht alle
Tasten sehr komfortabel zu greifen, aber die Finger wird man sich dabei
sicher auch nicht brechen.
Nun aber erst einmal einige Tips:
Die erste Gadget-Leiste (LESEN...) wird in Verbindung mit der RECHTEN
Amiga-Taste aufgerufen. Für die zweite Gadget-Leiste (WINDOW...)
benötigen Sie die LINKE Amiga-Taste. Die Befehle der dritten
Gadget-Leiste (SPRINGEN...) gehen dann mit CTRL-Links- Amiga. Das ist
noch ganz "greifbar". Meist funktionieren die Befehle dann in Verbindung
mit dem ersten Befehls-Buchstaben. Manchmal muß aber noch die SHIFT-Taste
gedrückt sein, dann nämlich wenn mehrere Befehle mit dem gleichen
Buchstaben beginnen.
Die Gadgets DRIVE, BLOCK,... werden ebenfalls mit der LINKEN Amiga-Taste
aufgerufen. Wieder muß der Anfangsbuchstabe des Befehls mitgedrückt
werden. Wird zusätzlich die linke oder die rechte SHIFT-Taste gedrückt,
so wirkt das wie das entsprechende "-" bzw. "+".
Auch bei den Tasten sind die "Kindersicherungen" eingebaut, und zwar bei
"SCHREIBE", "ENDE" und "INITDISK". Lassen Sie einfach die Tasten zu
diesen Befehlen LANGE gedrückt. Wenn die Meldung "Alles klar!" erscheint,
können Sie die Tasten loslassen. Erst dann wird der Befehl ausgeführt.
Bei SPRINGEN und INFO => mußte man ursprünglich immer ein Langwort
anklicken. Wenn Sie die Befehle aber mit der Tastatur anwählen, sparen
Sie sich das. Es gilt dann das Langwort, in dem der Cursor gerade steht.
Bei INFO => kann man sich Informationen über den aktuellen Block holen,
indem man die Tasten Amiga^I mindestens 1/2 Sekunde niederhält.
Hier nun die vollständige Tabelle der Tastaturkürzel. Ein großer
Buchstabe bedeutet immer, daß SHIFT oder CAPSLOCK auch gedrückt sein muß.
Links -Amiga + Space = HEX-Editiermodus
Rechts-Amiga + Space = ASCII-Editiermodus
Rechts-Amiga +
l = (L)ESEN
w = SCHREIBE wie (W)RITE (Kindersicherung!)
d = (D)RUCKEN
m = (M)ERKEN
h = (H)OLEN
s = (S)UMME
S = (S)UCHEN
f = (F)ORMAT
r = (R)EFORMAT
I = (I)NFO
i = (I)NFO =>
e = (E)NDE (Kindersicherung!)
Links-Amiga +
w = (W)INDOW
F = (F)ÜLLEN
f = (F)ILEHEAD
i = (I)NITDISK (Kindersicherung!)
p = (P)RÜFEN
a = RAM: (A)UF
y = ALLES -\ Hier ist mir nichts
x = DATEN -/ besseres eingefallen
z = RAM: (Z)U
r = => (R)AM:
Y = -> ALLES -\ siehe x
X = -> DATEN -/ und y
u = (U)SED
j = FREI (Auch hier ist mir wieder nichts besseres
eingefallen)
CTRL^Links-Amiga +
s = (S)PRINGEN
r = (R)OOT
b = (B)OOT
a = B(A)M
f = (F)OLGE
v = (V)ORHER
l = (L)IST
h = (H)EADER
p = (P)ARENT
Links-Amiga + (Links-Shift) oder (Rechts-Shift)
d = (D)RIVE DRIVE - DRIVE +
b = (B)LOCK BLOCK - BLOCK +
t = (T)RACK TRACK - TRACK +
c = (C)YL. CYL. - CYL. +
s = (S)EC. SEC. - SEC. +
h = (H)EAD HEAD - HEAD +
So, ich hoffe, daß Ihnen mein Programm gefällt, und daß Sie dann auch
mich, die Programmiererin nicht vergessen.
>>>>>>><<<<<<<
>>> Angela <<<
>>>>>>><<<<<<<
9) Meine Adresse:
=================
Angela Schmidt
Finkenweg 26
7910 Neu-Ulm Burlafingen
GERMANY
Tel: 0731 / 712316
E-Mail während des Semesters (Baden-Württemberg):
BITNET: uk8b@dkauni2
CSNet: S_ASchmidt@iravcl.ira.uka.de
================
== Sonstiges: ==
================
Danke an...
===========
Bedanken möchte ich mich bei meinem Freund Tobias, der mir beim
Programmieren immer mit guten Ratschlägen zur Hand war, und mir bei der
Fehlersuche eine große Hilfe war.
Ferner ein Dankeschön an Achim & Ulli, die von mir immer die beta-
Versionen zum Testen bekamen. Sie waren zwar nicht so mutig wie Tobias,
der neu überarbeitete Routinen gleich auf der Festplatte ausprobiert, aber
sie haben trotzdem den einen oder anderen Fehler entlarvt.
Als fleißiger Festplatten-Tester wäre dann auch nicht zuletzt noch
Bernhard zu vermerken, der DisKey u. a. auf einer 63MB-Platte getestet
hat, um festzustellen, ob die Extended-Bitmap und einiges andere
funktioniert. Er hat sich offensichtlich ziemlich ins Zeug gehängt -
wußte genau, in welcher Reihenfolge DisKey bestimmte Befehle ausführt.
Respekt!!!
Ein Dankeschön geht auch an Georg, der mir das digitalisierte Bild von 16
Farben in 4 Farben umgewandelt hat. Bei Herrn Schuh - einem ehemaligen
Lehrer - möchte ich mich für die Digitalisierung dieses Bildes bedanken!
Danke auch an Olli, der mir einige Programmiertips gegeben hat.
Roby, Alex und Holger, auch Euch muß ich danken! Ihr habt DisKey 1.2
schon kurz nach dem Erscheinen verbreitet - hoffentlich macht Ihr das mit
DisKey 2.0 wieder so!
Auch bei meiner Mutter möchte ich mich bedanken: Sie hat allen Anrufern
schön geduldig meine Telefonnummer in Karlsruhe (mein Studienort) genannt,
und wird dies wohl auch weiterhin tun müssen.
Ein Dankeschön an Fred, der mir Viren-Hexdumps zukommen ließ!
Last but not least vielen Dank den Usern, die so fair waren, die
Share-Gebühr zu zahlen. Es gibt doch noch einige deutschsprachige Leute,
die dazu bereit sind. Leider sind dies nur sehr wenige...
... und weiterhin auf gute Zusammenarbeit!
* Angela *
Viele Grüße an (alphabetisch):
==============================
Achim, Bätzy (thb) (nicht immer die Vorlesungen schwänzen - wir brauchen
Dich doch noch...), Bernhard (danke für die Assembler-hooks), Georg (ab
jetzt wird DisKey nur noch MIT Anleitung weitergegeben, ok? PS:
gratuliere zum Führerschein!¡!), Holger, Jochen (warum kommst Du freitags
nicht mehr?), Josef (danke für die Test-Bestellung!), Norbert, Olli,
Patric (danke für CoreWars!), Roby+Amiga (lebend), Tobias, Top (danke für
die neuen Fishe), Ulli (danke für die Polo-Fahrten), und an den Ulmer
Computer Treff!